package priv.pront.code.national.acwing.math;
import java.util.*;

/*(k1+1) * (k2+1) * ... (kn+1)*/
public class A870_约数个数 {

    static int n = 0;
    static int mod = 1000000007;
    static HashMap<Integer, Integer>map = new HashMap<>();
    static long res = 1;
    static void getNums(int n){
        for(int i = 2; i <= n / i; ++i){
            while(n % i == 0){
                map.put(i, map.getOrDefault(i, 0) + 1);
                n /= i;
            }
        }
        if(n > 1)map.put(n, map.getOrDefault(n, 0) + 1);
    }
    public static void main(String[] args)throws Exception{
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        while(n -- != 0){
            int a = sc.nextInt();
            getNums(a);
        }
        for(int a : map.values()){
            res = (res * (a + 1)) % mod;
        }
        System.out.print(res);
    }
}
